基于USB總線的數控雕刻機控制系統設計
0.引言
隨著PC技術的迅速發展,其在工業控制領域得到廣泛應用。用PC技術開發的數控系統可以得到強有力的硬件和軟件支持,避開專有技術的制約,在較短時間內達到較高水平[ 1 ]。USB 自問世以來,就以其速度快、成本低廉等諸多優點逐步占領了PC及其外圍設備市場。隨著大量支持USB的個人電腦的普及, USB 逐步成為PC機的標準接口已經是大勢所趨。本文介紹了一種基于USB 接口進行數據傳輸和控制的數控雕刻機的軟硬件設計方案。
1.系統硬件結構
整個系統的硬件結構如圖1所示。

圖1 系統硬件結構框圖
系統硬件主要由以下幾個部分組成:
(1) PC主機-CAD/CAM 建模,生成文本形式的G2Code,讀入G2Code對其進行解釋,調用直線或者圓弧插補,進行插補運算,將各種插補轉換為一系列相應的電機脈沖信息,并往USB通訊模塊傳輸。
(2)USB通訊模塊—接收主機傳輸來的包含電機運動的使能,方向,速度,脈沖信息的各種字節,將這些邏輯控制電平和控制脈沖在相應的控制線上實現。
(3)運動控制卡—接收通訊模塊發出的控制電平和脈沖,將其放大并轉換為步進電機的控制脈沖。
(4) X, Y, Z向步進電機—接收運動控制卡的輸出脈沖,朝某個方向運轉,并帶動相應的執行機構運動。整個機構的運行方式是:雕刻頭在直流電機的帶動下做高速旋轉,并在Z 方向做上下運動, X 2Y工作臺帶動工件做X、Y方向的進給運動,刀具和工件的運動的合成就可以得到文字和圖案的輪廓。
2.系統軟件結構
此雕刻系統中的軟件結構如圖2所示。運動控制程序負責實現步進電機的基本動作所需要的輸入信號。USB固件程序實現設備的枚舉和端點與主機的通信。USB設備驅動程序為應用程序和底層驅動程序之間提供接口。PC機底層驅動負責處理總線枚舉、電源管理以及USB 事務的其它方面,Windows操作系統提供這類驅動程序。Windows操作系統還提供AP I函數,來啟動應用程序與設備驅動程序之間的通信。USB應用程序的功能是提供操作和仿真界面、進行插補運算并和底層進行通信。可見,編程者需要開發的程序有PC機的USB 應用程序、USB 設備驅動程序以及單片機程序(包括PD IUSBD12的固件程序和運動控制程序) 。

圖2 系統的軟件結構框圖
3.插補控制的實現
3.1 步進電機的基本動作
對于各種復雜的運動軌跡,可以通過各種基本的插補來擬合的,而各種基本插補又是由步進電機的最基本的一些動作來完成的,這些基本的動作包括(以三維加工為例) : (0, 0, 0) 、(0, 0, n) 、( 0, n, 0) 、( n, 0, 0) 、(0, n, n) 、( n, 0, n) 、( n, n, 0) 、( n, n, n)其中n表示某路電機往某個方向步進的步數,是一個整數。在PC主機客戶軟件中,將各種插補運動分解為了一系列的電機的基本動作,往往需要實現的基本動作中n = ±1。
3.2 電機基本動作的實現
用運動控制卡來控制步進電機,其輸入控制信息有三類:使能,方向,一定頻率的脈沖。據此將PC主機發往USB設備的數據進行一定的格式定義,以進行分類,然后在單片機中將接收到的數據按照此類格式進行分析,并實現其功能。

圖3 單片機處理接收到的數據
圖3是單片機程序內處在主循環程序中的處理接收到的數據的流程。據此流程圖,可以看出要使電機沿某方向運轉一定的步數,只需依次發送電機的使能方向信息,速度信息和一系列的步數信息,所接收的步數信息往往是n= ±1的電機的基本動作。為了避免電機的基本動作間因為接收數據的時間而變得不連續,單片機采用了定時器中斷編程來控制脈沖輸出,而單片機前臺則負責接收主機發送過來的數據,并等待上一個脈沖輸出的完成。AT89S52單片機片內有3 路定時器中斷,剛好可以滿足雕刻機3個電機的控制需求,每路定時器中斷負責控制1個電機的控制脈沖輸出。
3.3 插補運算
直線插補和圓弧插補是兩種最重要的插補,許多復雜的曲線可以通過這兩種插補來擬合,根據數字積分器(DDA)的原理可以寫出這兩種插補運算的實現函數。圖4,圖5是在主機中客戶軟件層實現它們的流程圖。
對于其它類型的插補,實現的思路與上述的兩種類似,都需要根據插補的原理和算法來得到插補過程的每小段的增量,此增量就是步進電機的某個基本動作,將此基本動作序列依次發送到單片機底層即可實現刀具的插補運動。

圖4 DDA直線插補流程

圖5 DDA圓弧插補流程
3.4 與單片機的USB通訊
對于在客戶軟件層的插補運算,必須將電機的運動使能、方向、速度和運動步數信息發往底層單片機,實現發送的通訊方式是通過USB傳輸,USB傳輸速度快,可以滿足插補運算過程中的大量插補數據傳輸的需求。
(1) 電路連接圖
系統采用AT89S52控制PD IUSBD12傳輸數據,并將控制信號實時輸出。其電路連接示意圖如圖6所示。

圖6 電路連接示意圖
(2) USB固件程序開發
USB支持4種傳輸類型:中斷,控制,塊和同步[ 3 ]。雕刻機系統可靠性是關鍵,在滿足數據傳輸速度要求的前提下,系統采用了控制傳輸和中斷傳輸兩種傳輸方式。
PD IUSBD12的固件設計成完全的中斷驅動,采用KeilC51進行編寫。USB的傳輸可在后臺進行,它的基本思想是:后臺ISR (中斷服務程序)和前臺主程序循環之間的數據交換通過事件標志和數據緩沖區來實現[ 4 ]。整個單片機程序中,對電機的控制脈沖的輸出的實時性要求最高,所以設定了定時器中斷的級別為高級別,對于單片機內部的循環緩沖區,定時器中斷程序檢查循環緩沖區的填充情況,并在允許的時候重新打開低級的中斷服務。
(3) USB設備驅動程序開發
開發USB 接口設備驅動程序必須遵守WDM(Windows驅動程序模型)規范。WDM驅動程序有兩個主要的初始化入口點—DriverEntry和AddDevice例程。DrvierEntry主要工作是把各種函數指針填入驅動程序對象,以注冊其它回調例程[ 5 ]。PnP管理器將為每個硬件實例調用一次AddDevice例程,AddDevice函數的主要工作是創建一個設備對象并把它連接到設備堆棧中。驅動程序與應用程序和硬件之間通信都是IRP ( I/O請求包)完成的。在運行過程中,內核會調用不同的回調例程來完成不同的IRP。DriverUnload則是在設備卸載時的清除例程。
(4) USB應用程序開發
完成了USB 固件程序開發和USB 設備驅動程序開發后,就可以編寫上層的USB 主機客戶程序,真正發揮USB設備的作用。應用程序通過訪問AP I通信函數,使位于上層的應用程序與位于下層的設備驅動程序進行數據交換。
1)與USB設備建立通訊
采用了GU ID接口方式來打開設備, GU ID是在編寫設備驅動程序時獲得的,也<

提交
超越傳統直覺,MATLAB/Simulink助力重型機械的智能化轉型
新大陸自動識別精彩亮相2024華南國際工業博覽會
派拓網絡被Forrester評為XDR領域領導者
智能工控,存儲強基 | 海康威視帶來精彩主題演講
展會|Lubeworks路博流體供料系統精彩亮相AMTS展會